home *** CD-ROM | disk | FTP | other *** search
- set tire(thickness) {0.100000};
- set tire(radius) {2.0};
- set tire(color) {.3 .1 .1};
-
- EveCmd {set rim(minorRadius) [expr {1.2 * $tire(thickness)}]}
- EveCmd {set rim(majorRadius) [expr {$tire(radius) *.995}]}
- set rim(color) {0.924665 0.901624 1.000000};
-
- set rubber RCRubber
- set metal RCMetal
-
- set spoke(xTranslate) 0
- set spoke(yTranslate) 0
- set spoke(zTranslate) .15
- set spoke(xRotate) -90
- set spoke(lOffset) -4.25
- set spoke(rOffset) 4.25
- set spoke(yRotate) 0
- set spoke(yRotateIncr) 15
- set spoke(pairCount) 1
- #spokes should be about 10% of the thickness of the tire (say)
- EveCmd {set spoke(radius) [expr {$tire(thickness) * .1}]}
-
- startShape wheel
- startShape innerRim
- Surface $metal
- EveCmd {Color $rim(color)}
- TransformBegin
- EveCmd {Scale $tire(thickness) $tire(thickness) $tire(thickness)}
- EveCmd {Torus $tire(radius) [expr {$tire(radius) * .75}] 90 270 360}
- TransformEnd
- for {set i 0} {$i < $spoke(pairCount)} {incr i} \
- { startShape spokeL${i};
- EveCmd {Color $rim(color)};
- Surface $metal;
- Translate $spoke(xTranslate) $spoke(yTranslate) $spoke(zTranslate);
- Rotate [expr {$spoke(xRotate) + $spoke(lOffset)}] 1 0 0;
- Rotate $spoke(yRotate) 0 1 0;
- EveCmd {Cylinder $spoke(radius) $spoke(zTranslate) $tire(radius) 360};
- set spoke(yRotate) [expr {$spoke(yRotate) + $spoke(yRotateIncr)}]
- endShape;
- startShape spokeR${i};
- EveCmd {Color $rim(color)};
- Surface $metal;
- Translate $spoke(xTranslate) $spoke(yTranslate) [expr {-1 * $spoke(zTranslate)}];
- Rotate [expr {$spoke(xRotate) + $spoke(rOffset)}] 1 0 0;
- Rotate $spoke(yRotate) 0 1 0;
- EveCmd {Cylinder $spoke(radius) $spoke(zTranslate) $tire(radius) 360};
- set spoke(yRotate) [expr {$spoke(yRotate) + $spoke(yRotateIncr)}]
- endShape;
- }
- startShape tire
- Surface $rubber
- EveCmd {Color $tire(color)}
- EveCmd {Torus $tire(radius) $tire(thickness) 0 360 360}
- endShape
- startShape rim
- Surface $metal
- EveCmd {Color $rim(color)}
- EveCmd {Torus $rim(majorRadius) $rim(minorRadius) 90 270 360}
- endShape
- endShape
- endShape
-